package com.lqian.functional_intreface;

import java.util.function.Function;

/**
 * 给出指定字符串，返回对应的大写
 */
public class FunctionInterface {

    public static void main(String[] args) {
//        Function<String,String> function = new Function<String, String>() {
//            @Override
//            public String apply(String s) {
//                return s.toUpperCase();
//            }
//        };
        //1.匿名内部类  >>>  lambda表达式
        Function<String,String> function =s->s.toUpperCase();;
            // 简化：
            //      如果参数只有一个 () 可以不写
            //      如果方法体只有一行代码 return  和 {} 可以不写
            //      通过lambda表达式可以直接写到方法的参数中
                String str = handleStringToUpper(s->s.toUpperCase(), "hello!ya");
        System.out.println(str);
    }



    public static String handleStringToUpper(Function<String,String> function,String orginString){
        return function.apply(orginString);
    }

}
